package org.jeecg.modules.api.wlhy.debang.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.modules.api.wlhy.debang.bean.DeBangVehicle;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @Description: db_order
 * @Author: jeecg-boot
 * @Date:   2023-08-12
 * @Version: V1.0
 */
@Data
public class DbOrderReq implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/

    /**订单类型*/
    @Excel(name = "订单类型", width = 15)
    @ApiModelProperty(value = "订单类型")
    private String type;

	/**订单编号*/
	@Excel(name = "订单编号", width = 15)
    @ApiModelProperty(value = "订单编号")
    private String orderCode;
	/**货物名称*/
	@Excel(name = "货物名称", width = 15)
    @ApiModelProperty(value = "货物名称")
    private String goodsName;
	/**始发地（精确到区）*/
	@Excel(name = "始发地（精确到区）", width = 15)
    @ApiModelProperty(value = "始发地（精确到区）")
    private String departureName;
	/**目的地（精确到区）*/
	@Excel(name = "目的地（精确到区）", width = 15)
    @ApiModelProperty(value = "目的地（精确到区）")
    private String arrivalsName;
	/**用车时间*/
	@Excel(name = "用车时间", width = 15)
    @ApiModelProperty(value = "用车时间")
    private String useCarTime;
	/**到货时间*/
	@Excel(name = "到货时间", width = 15)
    @ApiModelProperty(value = "到货时间")
    private String arrivalTime;
	/**用车数量*/
	@Excel(name = "用车数量", width = 15)
    @ApiModelProperty(value = "用车数量")
    private String needQuantity;
	/**需要的车辆集合*/
	@Excel(name = "需要的车辆集合", width = 15)
    @ApiModelProperty(value = "需要的车辆集合")
//    @TableField(exist = false)
    private List<DeBangVehicle> cars;
//    private String[] cars;
	/**产品类型（4干线/ 5精准整车/6整车配送（原名称为拼车）/7货主8短途9精准专车））*/
	@Excel(name = "产品类型（4干线/ 5精准整车/6整车配送（原名称为拼车）/7货主8短途9精准专车））", width = 15)
    @ApiModelProperty(value = "产品类型（4干线/ 5精准整车/6整车配送（原名称为拼车）/7货主8短途9精准专车））")
    private String productType;
	/**增值服务（1装卸/2签收单/3进仓/4代收货款/5保价/6押车）*/
	@Excel(name = "增值服务（1装卸/2签收单/3进仓/4代收货款/5保价/6押车）", width = 15)
    @ApiModelProperty(value = "增值服务（1装卸/2签收单/3进仓/4代收货款/5保价/6押车）")
    private String addedService;
	/**订单失效时间*/
	@Excel(name = "订单失效时间", width = 15)
    @ApiModelProperty(value = "订单失效时间")
    private String failuretime;
	/**联系人姓名*/
	@Excel(name = "联系人姓名", width = 15)
    @ApiModelProperty(value = "联系人姓名")
    private String contactsName;
	/**联系人电话*/
	@Excel(name = "联系人电话", width = 15)
    @ApiModelProperty(value = "联系人电话")
    private String contactsPhone;
	/**联系人部门名称*/
	@Excel(name = "联系人部门名称", width = 15)
    @ApiModelProperty(value = "联系人部门名称")
    private String createDeptName;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remarks;
	/**货物价值*/
	@Excel(name = "货物价值", width = 15)
    @ApiModelProperty(value = "货物价值")
    private String priceofgoods;
	/**部门标杆编码*/
	@Excel(name = "部门标杆编码", width = 15)
    @ApiModelProperty(value = "部门标杆编码")
    private String unifiedCode;
	/**报价金额*/
	@Excel(name = "报价金额", width = 15)
    @ApiModelProperty(value = "报价金额")
    private String price;
	/**包装*/
	@Excel(name = "包装", width = 15)
    @ApiModelProperty(value = "包装")
    private String packing;
	/**客户编码*/
	@Excel(name = "客户编码", width = 15)
    @ApiModelProperty(value = "客户编码")
    private String customerCode;
	/**出发转运场*/
	@Excel(name = "出发转运场", width = 15)
    @ApiModelProperty(value = "出发转运场")
    private String departureTransshipment;
	/**到达转运场*/
	@Excel(name = "到达转运场", width = 15)
    @ApiModelProperty(value = "到达转运场")
    private String arriveTransshipment;
	/**订单状态： 0：订单关闭， 1：确认中标，2：已打印运输合同，3：确认发车，4：确认到达，5：已开单（传输货物价值、货物名称、数量、出发外场和包装、运单号），6：竞标失败，7：已签收，8：回传、重量、体积、价格、车次号， 9：不允许修改重量/体积/货物件数等值*/
	@Excel(name = "订单状态： 0：订单关闭， 1：确认中标，2：已打印运输合同，3：确认发车，4：确认到达，5：已开单（传输货物价值、货物名称、数量、出发外场和包装、运单号），6：竞标失败，7：已签收，8：回传、重量、体积、价格、车次号， 9：不允许修改重量/体积/货物件数等值", width = 15)
    @ApiModelProperty(value = "订单状态： 0：订单关闭， 1：确认中标，2：已打印运输合同，3：确认发车，4：确认到达，5：已开单（传输货物价值、货物名称、数量、出发外场和包装、运单号），6：竞标失败，7：已签收，8：回传、重量、体积、价格、车次号， 9：不允许修改重量/体积/货物件数等值")
    private String orderStauts;
	/**唯一标识*/
	@Excel(name = "唯一标识", width = 15)
    @ApiModelProperty(value = "唯一标识")
    private String uniqueId;
	/**货物价值*/
	@Excel(name = "货物价值", width = 15)
    @ApiModelProperty(value = "货物价值")
    private String goodsPrice;
	/**数量（只有orderStauts为5的时候才会传输）*/
	@Excel(name = "数量（只有orderStauts为5的时候才会传输）", width = 15)
    @ApiModelProperty(value = "数量（只有orderStauts为5的时候才会传输）")
    private String num;
	/**出发外场（只有orderStauts为5的时候才会传输）*/
	@Excel(name = "出发外场（只有orderStauts为5的时候才会传输）", width = 15)
    @ApiModelProperty(value = "出发外场（只有orderStauts为5的时候才会传输）")
    private String departureFieldNameCode;
	/**运单号*/
	@Excel(name = "运单号", width = 15)
    @ApiModelProperty(value = "运单号")
    private String billCode;
	/**操作时间（只有orderStauts为3和4的时候才会传输）*/
	@Excel(name = "操作时间（只有orderStauts为3和4的时候才会传输）", width = 15)
    @ApiModelProperty(value = "操作时间（只有orderStauts为3和4的时候才会传输）")
    private String operationTime;
	/**发货详细地址（只有orderStauts为1的时候会传输）(精准整车订单才会传)*/
	@Excel(name = "发货详细地址（只有orderStauts为1的时候会传输）(精准整车订单才会传)", width = 15)
    @ApiModelProperty(value = "发货详细地址（只有orderStauts为1的时候会传输）(精准整车订单才会传)")
    private String departureDetaile;
	/**收货详细地址（只有orderStauts为1的时候会传输）(精准整车订单才会传)*/
	@Excel(name = "收货详细地址（只有orderStauts为1的时候会传输）(精准整车订单才会传)", width = 15)
    @ApiModelProperty(value = "收货详细地址（只有orderStauts为1的时候会传输）(精准整车订单才会传)")
    private String arrivalsDetaile;
	/**收货人（只有orderStauts为5的时候会传输）*/
	@Excel(name = "收货人（只有orderStauts为5的时候会传输）", width = 15)
    @ApiModelProperty(value = "收货人（只有orderStauts为5的时候会传输）")
    private String consigneeContactName;
	/**收货人电话（只有orderStauts为5的时候会传输）*/
	@Excel(name = "收货人电话（只有orderStauts为5的时候会传输）", width = 15)
    @ApiModelProperty(value = "收货人电话（只有orderStauts为5的时候会传输）")
    private String consigneeMoblie;
	/**车次号（只有orderStauts为8的时候才会传输）(干线订单)*/
	@Excel(name = "车次号（只有orderStauts为8的时候才会传输）(干线订单)", width = 15)
    @ApiModelProperty(value = "车次号（只有orderStauts为8的时候才会传输）(干线订单)")
    private String vehicletips;
	/**体积（干线订单orderStauts为8的时候传输，整车订单orderStauts为5的时候传输）*/
	@Excel(name = "体积（干线订单orderStauts为8的时候传输，整车订单orderStauts为5的时候传输）", width = 15)
    @ApiModelProperty(value = "体积（干线订单orderStauts为8的时候传输，整车订单orderStauts为5的时候传输）")
    private String dimensional;
	/**重量（干线订单orderStauts为8的时候传输，整车订单orderStauts为5的时候传输）*/
	@Excel(name = "重量（干线订单orderStauts为8的时候传输，整车订单orderStauts为5的时候传输）", width = 15)
    @ApiModelProperty(value = "重量（干线订单orderStauts为8的时候传输，整车订单orderStauts为5的时候传输）")
    private String weight;
	/**付款方式（只有orderStauts为5的时候会传输）    代码解释：CH现金；CD银行卡；CT月结；DT当月结；FC到付*/
	@Excel(name = "付款方式（只有orderStauts为5的时候会传输）    代码解释：CH现金；CD银行卡；CT月结；DT当月结；FC到付", width = 15)
    @ApiModelProperty(value = "付款方式（只有orderStauts为5的时候会传输）    代码解释：CH现金；CD银行卡；CT月结；DT当月结；FC到付")
    private String paymentMethod;
	/**货物件数*/
	@Excel(name = "货物件数", width = 15)
    @ApiModelProperty(value = "货物件数")
    private String goodsNumber;
	/**货物包装*/
	@Excel(name = "货物包装", width = 15)
    @ApiModelProperty(value = "货物包装")
    private String packingGoods;
	/**是否含签收单（Y是包含N是不包含）*/
	@Excel(name = "是否含签收单（Y是包含N是不包含）", width = 15)
    @ApiModelProperty(value = "是否含签收单（Y是包含N是不包含）")
    private String isSignReceipt;
	/**货物价值（报价申明）*/
	@Excel(name = "货物价值（报价申明）", width = 15)
    @ApiModelProperty(value = "货物价值（报价申明）")
    private String declaredValue;
	/**备注*/
	@Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
	/**发货联系人*/
	@Excel(name = "发货联系人", width = 15)
    @ApiModelProperty(value = "发货联系人")
    private String consignorName;
	/**发货联系人手机号*/
	@Excel(name = "发货联系人手机号", width = 15)
    @ApiModelProperty(value = "发货联系人手机号")
    private String consignorPhone;
	/**接货时间*/
	@Excel(name = "接货时间", width = 15)
    @ApiModelProperty(value = "接货时间")
    private String deliveryTime;
	/**发货地址 按照区编码：如310105*/
	@Excel(name = "发货地址 按照区编码：如310105", width = 15)
    @ApiModelProperty(value = "发货地址 按照区编码：如310105")
    private String departureAddress;
	/**发货地址 按照城市编码：如310105*/
	@Excel(name = "发货地址 按照城市编码：如310105", width = 15)
    @ApiModelProperty(value = "发货地址 按照城市编码：如310105")
    private String departureCity;
	/**收货联系人*/
	@Excel(name = "收货联系人", width = 15)
    @ApiModelProperty(value = "收货联系人")
    private String consigneeName;
	/**收货联系人手机号*/
	@Excel(name = "收货联系人手机号", width = 15)
    @ApiModelProperty(value = "收货联系人手机号")
    private String consigneePhone;
	/**到达时间*/
	@Excel(name = "到达时间", width = 15)
    @ApiModelProperty(value = "到达时间")
    private String arriveTime;
	/**收货人固定电话*/
	@Excel(name = "收货人固定电话", width = 15)
    @ApiModelProperty(value = "收货人固定电话")
    private String consigneeTel;
	/**收货地址按照区编码如 ：110112*/
	@Excel(name = "收货地址按照区编码如 ：110112", width = 15)
    @ApiModelProperty(value = "收货地址按照区编码如 ：110112")
    private String arriveAddress;
	/**收货地址按照城市编码如 ：110112*/
	@Excel(name = "收货地址按照城市编码如 ：110112", width = 15)
    @ApiModelProperty(value = "收货地址按照城市编码如 ：110112")
    private String arriveCity;
	/**发货地址详情*/
	@Excel(name = "发货地址详情", width = 15)
    @ApiModelProperty(value = "发货地址详情")
    private String arriveDetail;
	/**裸车价*/
	@Excel(name = "裸车价", width = 15)
    @ApiModelProperty(value = "裸车价")
    private String bareCar;
	/**总费用*/
	@Excel(name = "总费用", width = 15)
    @ApiModelProperty(value = "总费用")
    private String allCost;
	/**订单状态*/
	@Excel(name = "订单状态", width = 15)
    @ApiModelProperty(value = "订单状态")
    private String orderStatus;
	/**是否接送货（Y/N）*/
	@Excel(name = "是否接送货（Y/N）", width = 15)
    @ApiModelProperty(value = "是否接送货（Y/N）")
    private String deliveryOrder;
	/**订单创建部门*/
	@Excel(name = "订单创建部门", width = 15)
    @ApiModelProperty(value = "订单创建部门")
    private String deptName;
	/**部门标杆编码*/
	@Excel(name = "部门标杆编码", width = 15)
    @ApiModelProperty(value = "部门标杆编码")
    private String deptCode;
	/**是否时效紧急（Y/N）*/
	@Excel(name = "是否时效紧急（Y/N）", width = 15)
    @ApiModelProperty(value = "是否时效紧急（Y/N）")
    private String isMustreach;
	/**路歌供应商ID（只有路歌订单会传）*/
	@Excel(name = "路歌供应商ID（只有路歌订单会传）", width = 15)
    @ApiModelProperty(value = "路歌供应商ID（只有路歌订单会传）")
    private String lugeId;
	/**平台编码*/
	@Excel(name = "平台编码", width = 15)
    @ApiModelProperty(value = "平台编码")
    private String platformcode;
	/**密码*/
	@Excel(name = "密码", width = 15)
    @ApiModelProperty(value = "密码")
    private String ciphertxt;
	/**平台电话*/
	@Excel(name = "平台电话", width = 15)
    @ApiModelProperty(value = "平台电话")
    private String servicePhone;
	/**平台订单号*/
	@Excel(name = "平台订单号", width = 15)
    @ApiModelProperty(value = "平台订单号")
    private String platformOrderCode;
	/**统一转发接口名称*/
	@Excel(name = "统一转发接口名称", width = 15)
    @ApiModelProperty(value = "统一转发接口名称")
    private String msgId;
	/**车牌号*/
	@Excel(name = "车牌号", width = 15)
    @ApiModelProperty(value = "车牌号")
    private String vehicleNo;
	/**经纪人姓名*/
	@Excel(name = "经纪人姓名", width = 15)
    @ApiModelProperty(value = "经纪人姓名")
    private String agentName;
	/**经纪人电话*/
	@Excel(name = "经纪人电话", width = 15)
    @ApiModelProperty(value = "经纪人电话")
    private String agentPhone;
	/**司机姓名*/
	@Excel(name = "司机姓名", width = 15)
    @ApiModelProperty(value = "司机姓名")
    private String driverName;
	/**司机电话*/
	@Excel(name = "司机电话", width = 15)
    @ApiModelProperty(value = "司机电话")
    private String dirverPhone;
	/**件数*/
	@Excel(name = "件数", width = 15)
    @ApiModelProperty(value = "件数")
    private String quantity;
	/**异常反馈备注*/
	@Excel(name = "异常反馈备注", width = 15)
    @ApiModelProperty(value = "异常反馈备注")
    private String abnormalMark;
	/**异常照片集合（最多4张）*/
	@Excel(name = "异常照片集合（最多4张）", width = 15)
    @ApiModelProperty(value = "异常照片集合（最多4张）")
    private String abnormalImages;
	/**接货开始时间（时间戳）*/
	@Excel(name = "接货开始时间（时间戳）", width = 15)
    @ApiModelProperty(value = "接货开始时间（时间戳）")
    private String jGoodsStartTime;
	/**接货结束时间（时间戳）*/
	@Excel(name = "接货结束时间（时间戳）", width = 15)
    @ApiModelProperty(value = "接货结束时间（时间戳）")
    private String jGoodsEndTime;
	/**接货车牌号*/
	@Excel(name = "接货车牌号", width = 15)
    @ApiModelProperty(value = "接货车牌号")
    private String deliveryVehicleNumber;
	/**车辆所处的状态9：已发车,10：已到达11：开票子公司12:传送货出发到达时间*/
	@Excel(name = "车辆所处的状态9：已发车,10：已到达11：开票子公司12:传送货出发到达时间", width = 15)
    @ApiModelProperty(value = "车辆所处的状态9：已发车,10：已到达11：开票子公司12:传送货出发到达时间")
    private String biddingState;
	/**开票子公司名称（bidding_state    为11的时候传输这个字段）*/
	@Excel(name = "开票子公司名称（bidding_state    为11的时候传输这个字段）", width = 15)
    @ApiModelProperty(value = "开票子公司名称（bidding_state    为11的时候传输这个字段）")
    private String openCompany;
	/**出发时间*/
	@Excel(name = "出发时间", width = 15)
    @ApiModelProperty(value = "出发时间")
    private String startTime;
	/**专线地址（到达状态10的时候传）*/
	@Excel(name = "专线地址（到达状态10的时候传）", width = 15)
    @ApiModelProperty(value = "专线地址（到达状态10的时候传）")
    private String specialLineAddress;
	/**联系人（到达状态10的时候传）*/
	@Excel(name = "联系人（到达状态10的时候传）", width = 15)
    @ApiModelProperty(value = "联系人（到达状态10的时候传）")
    private String linkman;
	/** 联系人电话（到达状态10的时候传）*/
	@Excel(name = " 联系人电话（到达状态10的时候传）", width = 15)
    @ApiModelProperty(value = " 联系人电话（到达状态10的时候传）")
    private String linkmanPhone;
	/**送货开始时间（时间戳）（bidding_state    为12的时候传输这个字段）*/
	@Excel(name = "送货开始时间（时间戳）（bidding_state    为12的时候传输这个字段）", width = 15)
    @ApiModelProperty(value = "送货开始时间（时间戳）（bidding_state    为12的时候传输这个字段）")
    private String sGoodsStartTime;
	/**送货结束时间（时间戳）（bidding_state    为12的时候传输这个字段）*/
	@Excel(name = "送货结束时间（时间戳）（bidding_state    为12的时候传输这个字段）", width = 15)
    @ApiModelProperty(value = "送货结束时间（时间戳）（bidding_state    为12的时候传输这个字段）")
    private String sGoodsEndTime;
	/**运单号*/
	@Excel(name = "运单号", width = 15)
    @ApiModelProperty(value = "运单号")
    private String waybillNo;
	/**签收状态（正常签收1/异常签收0）*/
	@Excel(name = "签收状态（正常签收1/异常签收0）", width = 15)
    @ApiModelProperty(value = "签收状态（正常签收1/异常签收0）")
    private String signState;
	/**实付金额*/
	@Excel(name = "实付金额", width = 15)
    @ApiModelProperty(value = "实付金额")
    private String actualPayment;
	/**报价金额*/
	@Excel(name = "报价金额", width = 15)
    @ApiModelProperty(value = "报价金额")
    private String quotationAmount;
	/**调整金额（为0表示未做调整）*/
	@Excel(name = "调整金额（为0表示未做调整）", width = 15)
    @ApiModelProperty(value = "调整金额（为0表示未做调整）")
    private String adjustmentAmount;
	/**原因   JOAB_FARE:押车费    IGH_WIDTH:超高/超重      Destination_Change:目的站变更 Unloading_Charge:卸车费     Into_Storage_Fee:进仓费     THER:其他*/
	@Excel(name = "原因   JOAB_FARE:押车费    IGH_WIDTH:超高/超重      Destination_Change:目的站变更 Unloading_Charge:卸车费     Into_Storage_Fee:进仓费     THER:其他", width = 15)
    @ApiModelProperty(value = "原因   JOAB_FARE:押车费    IGH_WIDTH:超高/超重      Destination_Change:目的站变更 Unloading_Charge:卸车费     Into_Storage_Fee:进仓费     THER:其他")
    private String reason;
	/**金额*/
	@Excel(name = "金额", width = 15)
    @ApiModelProperty(value = "金额")
    private String amountMoney;
	/**对账结果（1成功 0失败）*/
	@Excel(name = "对账结果（1成功 0失败）", width = 15)
    @ApiModelProperty(value = "对账结果（1成功 0失败）")
    private String result;
	/**付款状态(1已付款 0未付款，2：付款中)*/
	@Excel(name = "付款状态(1已付款 0未付款，2：付款中)", width = 15)
    @ApiModelProperty(value = "付款状态(1已付款 0未付款，2：付款中)")
    private String state;
	/**付款工作流号*/
	@Excel(name = "付款工作流号", width = 15)
    @ApiModelProperty(value = "付款工作流号")
    private String workflowNo;
	/**平台编码*/
	@Excel(name = "平台编码", width = 15)
    @ApiModelProperty(value = "平台编码")
    private String interfaceCode;
	/**实付尾款*/
	@Excel(name = "实付尾款", width = 15)
    @ApiModelProperty(value = "实付尾款")
    private String realPay;
	/**照片*/
	@Excel(name = "照片", width = 15)
    @ApiModelProperty(value = "照片")
    private String pathUrlInfo;

    /**推送日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "推送日期")
    private Date createTime;
}
